#include "Pisica.h"

Pisica::Pisica(){
  Gender a=static_cast<Gender>(rand()%2);
  Culoare b=static_cast<Culoare>(rand()%4);
  (*this).limitaVarsta=240;
  (*this).varsta=0;
  (*this).sex=a;
  (*this).culoareBlana=b;
  (*this).specie=pisica;
}

 void Pisica::print(){
  std::cout<<"Pisica";
    if ((*this).isMale()) std::cout<<" Sex: M |";
  else std::cout<<" Sex: F |";
  std::cout<<" Varsta: "<<(*this).getVarsta()<<" | ";
  if ((*this).getCuloareBlana()==alb) std::cout<<"Culoare blana: alba\n";
  if ((*this).getCuloareBlana()==negru) std::cout<<"Culoare blana: neagra\n";
  if ((*this).getCuloareBlana()==gri) std::cout<<"Culoare blana: gri\n";
  if ((*this).getCuloareBlana()==maro) std::cout<<"Culoare blana: maro\n";
}

Pisica* Pisica::giveBirth(){
   return new Pisica();
}

bool Pisica::isGestant()
{
    if ((*this).isMale()) return false;
    else if((*this).getVarsta()>180) return false;
         else if ((*this).getVarsta()%12!=0) return false;
    return true;

}

void Pisica::manaca(Soarece *s)
{
   s->~Soarece();
}

void Pisica::distruge(){
    this->~Pisica();
}
